現(xiàn)代控制技術(shù)在中藥智能配藥系統(tǒng)中的應(yīng)用
中藥智能配藥系統(tǒng)(Intelligent Dispense System for Chinese Medicine)是隨著中醫(yī)院流程系統(tǒng)管理向電子化、網(wǎng)絡(luò)化的方向發(fā)展而產(chǎn)生的。該系統(tǒng)工作的過程是:首先通過醫(yī)院內(nèi)部局域網(wǎng)將在終端電腦上開出的處方傳至藥房配藥主控計算機,然后由主控計算機在查詢藥品數(shù)據(jù)庫的基礎(chǔ)上形成配藥指令并下達(dá)給配藥機器,完成配藥過程。同時,主控計算機在配藥機器終端的液晶顯示屏上顯示患者信息,并驅(qū)動打印機輸出處方的綜合信息,將處方綜合信息連同配藥機器輸出的配好的分帖包裝中藥一起交付患者使用。中藥智能配藥系統(tǒng)的控制系統(tǒng)可分為機電控制系統(tǒng)和上位機軟件控制系統(tǒng),其結(jié)構(gòu)框圖如圖1所示。
1 機電控制系統(tǒng)
機電控制系統(tǒng)為分層分布式結(jié)構(gòu),采用上位機+下位機+集成電路板的技術(shù)進(jìn)行綜合控制。其電路系統(tǒng)結(jié)構(gòu)框圖如圖2所示。具體介紹如下:
(1)上位機使用PC機,負(fù)責(zé)管理級和監(jiān)控調(diào)度級的控制。上位機不采用工控機的原因是因系統(tǒng)對于界面、數(shù)據(jù)庫處理及網(wǎng)絡(luò)聯(lián)系等均有較高的要求。上位機的主要功能是將人機界面輸入的二進(jìn)制編碼信息通過RS-232串口傳送給下位機,并對下位機的工作狀況進(jìn)行實時監(jiān)控,完成藥方打印和液晶顯示。另外,它與藥品管理信息系統(tǒng)之間的信息交互,是通過醫(yī)院內(nèi)部的局域網(wǎng)來進(jìn)行并采用TCP/IP協(xié)議實現(xiàn)的。
(2)下位機負(fù)責(zé)設(shè)備級控制。其功能是接收并解碼上位機發(fā)送的二進(jìn)制配藥信息,然后根據(jù)配藥信息選定所需藥品,驅(qū)動相應(yīng)集成電路板進(jìn)行下藥控制,并驅(qū)動機械手進(jìn)行定位、取出藥品、包裝成袋,連同打印藥方一起交付患者。下位機之所以采用PLC而沒有選擇價格相對低廉的單片機,原因之一是為了滿足中藥配藥機對高速運作的要求,X軸導(dǎo)軌和Y軸導(dǎo)軌均采用伺服電機驅(qū)動,而單片機對伺服電機的控制能力相對較差,很難做到精確控制;原因之二是中藥智能配藥系統(tǒng)對可靠性的要求很高,而單片機的穩(wěn)定性與PLC相比要差一些,且容易受到外界電磁的干擾。
(3)下藥直流電動機的控制采用以ALTERA公司的ACEX1K芯片為核心的集成電路板來完成。在該芯片中集成了在Max+plus II開發(fā)系統(tǒng)中用VHDL語言編寫的控制、計數(shù)和定時功能。該電路板的功能是接收從PLC發(fā)來的命令和藥品質(zhì)量數(shù),控制電動機的轉(zhuǎn)數(shù),在0.07g/轉(zhuǎn)的精度下完成規(guī)定重量的下藥。由于本系統(tǒng)使用了多達(dá)420個下藥直流電機,因此采用可減少I/O點數(shù)及PLC布線的集成電路板。該系統(tǒng)的所有下藥電機由28塊集成電路板分別控制,每塊集成電路板控制的下藥部分相對獨立。這樣,檢查和維修不受位置限制,具有較高的可靠性和性價比。
1.1 PLC控制
1.1.1 PLC配置
本系統(tǒng)PLC配置采用OMRON公司的C200HE型PLC,并在其基礎(chǔ)上擴展了一個16點繼電器型開關(guān)量輸出模塊C200H-OC225、一個32點晶體管型開關(guān)量輸出模塊C200H-OD215、兩個16點開關(guān)量輸入模塊C200H-ID212和一個四軸位置控制模塊C200HE-NC413。各模塊的作用為:
(1)兩個輸入模塊用來接收配藥機器中各種接觸器的位置反饋或動作的故障反饋,對其配置無特別要求;
(2)兩個輸出模塊發(fā)出指令,用來操作配藥機器。繼電器型開關(guān)量輸出模塊驅(qū)動電流大,但不能頻繁動作,因此用來控制所有電磁閥和各種直流電機、步進(jìn)電機;晶體管型開關(guān)量輸出模塊則正好相反,且其輸出為TTL電平,具有可以與其它集成電路接口的優(yōu)點,用來驅(qū)動集成電路完成下藥操作。
(3)四軸位置控制模塊用來控制四軸(X、Y、Z、U)互相獨立的兩個伺服電機和三個步進(jìn)電機。在X、Y軸上分別配置了兩個伺服電機,而三個步進(jìn)電機由于工作時間互相錯開,全部配置在U軸上。另外,X、Y軸上各有左右限位開關(guān)和原點接近開關(guān)3個,Z軸有原點接近開關(guān)1個,這樣,共7個接近開關(guān)接到C200HENC413上。該模塊以不超過10ms的響應(yīng)時間從PLC內(nèi)存取得命令,在500kp/s的高頻脈沖下與PLC內(nèi)存數(shù)據(jù)建立映射關(guān)系,完成通過修改內(nèi)存數(shù)據(jù)定位伺服電機和步進(jìn)電機的位置以及通過內(nèi)存數(shù)據(jù)反饋伺服電機和步進(jìn)電機的位置情況的功能。
1.1.2 伺服電機控制電路
在本系統(tǒng)中,配置了兩個OMRON公司的SMARTSTEP A伺服系統(tǒng),對X、Y軸完成定位操作,具體控制電路如圖3所示。其中包括四軸位置控制模塊C200HE-NC413、通用控制電纜R88A-CPU002S、伺服驅(qū)動器R7D-AP04H、伺服電機R7M-A40030-BS1(為帶制動器的帶鍵直軸圓柱形電機)。圖中,CN1代表伺服驅(qū)動器,CN2代表與伺服電機同軸的分辨率為2000脈沖/轉(zhuǎn)的光學(xué)增量型編碼器用連接器,它可以完成從驅(qū)動器到伺服電機的具有位置反饋和速度反饋的閉環(huán)控制。在伺服電機中,M代表電機本身,E代表編碼器,B代表動力制動器。由于固定脈沖代表固定距離,因此當(dāng)伺服電機接收到控制系統(tǒng)發(fā)出的若干條脈沖指令后,就可以完成預(yù)定的定位。在本系統(tǒng)中,設(shè)置電機的分辨率為5000脈沖/轉(zhuǎn)(0.072度/步),伺服電機連接的同軸減速器比例為31,其帶動導(dǎo)軌移動的速率為60mm/轉(zhuǎn)。因此,伺服電機帶動導(dǎo)軌移動的速率為20mm/5000脈沖。伺服電機控制電路的控制原理為:位置控制單元從設(shè)備處得到各種控制信號,并根據(jù)不同藥罐間的距離與20mm/5000脈沖的數(shù)據(jù)大致算出映射到四軸位置控制模塊NC413在PLC中的脈沖數(shù)據(jù);然后通過通用控制電纜輸出高速脈沖給伺服驅(qū)動器,由其驅(qū)動伺服電機,使之根據(jù)誤差反饋自動微調(diào)該數(shù)據(jù),最終達(dá)到精確定位的目的。
1.1.3 步進(jìn)電機控制電路
步進(jìn)電機驅(qū)動器與C200HE-NC413的連線類似于圖3中伺服電機驅(qū)動器與C200HE-NC413的連線,而步進(jìn)電機驅(qū)動器與步進(jìn)電機間的連線則如圖4所示。本系統(tǒng)中控制機械手?jǐn)[動的步進(jìn)電機采用STONE公司的86BYG250B,驅(qū)動器采用STONE公司的混合式步進(jìn)電機驅(qū)動器SH20806C;控制送袋與推袋的兩個步進(jìn)電機采用SANYO公司的103H548,驅(qū)動器采用STEP公司的四相混合式步進(jìn)電機細(xì)分驅(qū)動器ST4HB03X。步進(jìn)電機的控制類型為不具有位置反饋功能的開環(huán)控制,控制方法為在確定運動起點與終點的基礎(chǔ)上,將位移或角度改變以200脈沖/轉(zhuǎn)(0.18度/步)為分辨率轉(zhuǎn)變?yōu)槊}沖數(shù),寫入映射在NC413中的內(nèi)存位置,從而控制步進(jìn)電機完成定位。
1.2 系統(tǒng)工作步驟
系統(tǒng)中有各種電機、限位、定位用傳感器以及與真空氣泵連接的電磁閥,可以完成取空藥袋、打開空藥袋及封裝、輸送藥袋等功能,其工作時序見圖5。
圖5 系統(tǒng)工作時序圖
1.3 PLC程序?qū)崿F(xiàn)
利用OMRON的編程軟件CX-Programmer完成梯形圖的編寫,程序包括如下六個模塊:
(1)初始化模塊,其功能是將PLC的內(nèi)存單元初始化,進(jìn)行電氣部分的歸零操作,目的是為配藥系統(tǒng)進(jìn)行運轉(zhuǎn)做好準(zhǔn)備,防止誤操作對系統(tǒng)造成不可挽回的破壞;
(2)接收模塊,其功能是接收上位機界面中輸入的二進(jìn)制編碼的信息(包括藥品種類、數(shù)量、貼數(shù)等),存入預(yù)先定義的內(nèi)存單元;
(3)發(fā)送模塊,其功能是將藥品種類、數(shù)量等按照數(shù)據(jù)庫與伺服電機結(jié)構(gòu)中已定義的方式分別轉(zhuǎn)變?yōu)橄滤幹绷麟姍C位置和轉(zhuǎn)動圈數(shù),并發(fā)送到集成電路板,完成下藥操作;
(4)反饋模塊,其功能是接收來自集成電路板的直流電機轉(zhuǎn)動停止(即規(guī)定重量下藥動作完成)的反饋信號;
(5)控制模塊,其功能是在確定下藥過程完成后,驅(qū)動機械手完成取空藥袋、打開空藥袋、定位及集藥等任務(wù),并驅(qū)動藥袋封口裝置動作,觸發(fā)直流電動機帶動皮帶轉(zhuǎn)動,送出藥品;
(6)故障處理模塊,其功能是接收各處傳感器反饋的接近或故障信號,隨時停止系統(tǒng)的配藥動作,以進(jìn)行故障處理。
此外,在發(fā)送模塊和控制模塊中建立時間聯(lián)系,使得在一次多貼藥配藥過程中,下一貼藥的下藥、取空藥袋動作與上一貼藥的封口、傳輸動作并行進(jìn)行,縮短了配藥時間。
2 上位機軟件控制系統(tǒng)
上位機軟件控制系統(tǒng)包括藥品信息數(shù)據(jù)庫和人機對話界面,前者主要存儲醫(yī)院的藥品信息,包括名稱、數(shù)量、價格、藥性、有效期等;后者則與數(shù)據(jù)庫建立連接,可以實現(xiàn)查詢、開處方、藥品管理、處方管理、打印、液晶顯示等功能。其流程圖如圖6所示。
2.1 工控組態(tài)軟件FIX32
FIX32是美國 Intellution公司開發(fā)的基于視窗的大型應(yīng)用軟件,包含動態(tài)顯示、報警、趨勢、控制策略、控制網(wǎng)絡(luò)通信等組件。在本系統(tǒng)中,應(yīng)用FIX32編寫了主界面和系統(tǒng)運行的動態(tài)模擬顯示程序。
(1)主界面是上位機與下位機之間的連接橋梁,其功能是與VB編寫的界面建立聯(lián)系,激活配藥控制界面和藥品管理界面。
(2)系統(tǒng)運行動態(tài)模擬顯示的實現(xiàn)方式是首先在
FIX32的DRAW模式下畫出整個配藥系統(tǒng)的模擬圖,包括靜止物體及各種動作顯示,設(shè)定限位與故障反饋警報;然后在FIX32中對I/O點進(jìn)行組態(tài),并在數(shù)據(jù)庫中建立各藥罐、各動作I/O類型及其在下位機PLC中的地址。這樣,當(dāng)PLC中的程序開始運行時,相應(yīng)地址中的模擬量或開關(guān)量便發(fā)生變化。這種變化可在配藥系統(tǒng)動作的同時顯示到動態(tài)模擬界面,使動態(tài)模擬同步進(jìn)行。在配藥系統(tǒng)封閉運行的情況下,其作用之一是可以從動態(tài)模擬畫面中實時觀察到系統(tǒng)的運作情況,之二是可在系統(tǒng)發(fā)生可反饋性故障時在第一時間得到提示,快速完成對故障的調(diào)整。
2.2 界面編輯軟件VB
該部分軟件包括取藥與加藥兩個模塊,均具有權(quán)限控制功能,用戶需輸入密碼,可保證系統(tǒng)的安全性。VB界面框架圖如圖7所示。
取藥模塊的主要任務(wù)是與ACCESS數(shù)據(jù)庫取得聯(lián)系,將需要的藥品名、數(shù)量、貼數(shù)等通過FIX32傳入下位機中,完成取藥操作。其中,在數(shù)據(jù)庫中的藥品名采用拼音查詢,數(shù)量與貼數(shù)則可多次修改。同時,VB還要向液晶屏輸出患者及處方信息,并完成處方打印。
在取藥模塊中進(jìn)行了取藥任務(wù)優(yōu)化處理算法的設(shè)計,其目的是在醫(yī)生開藥順序任意的情況下完成最短時間的配藥過程。由于機械手在X、Y軸伺服電機的控制下的勻速行走速度為1m/s,因此時間最短即為行走路線最短,這個問題等價于典型的旅行商(TSP)問題。在本系統(tǒng)中,420個藥罐分為前后兩面各14行等距排列,每一面中又分左右兩側(cè)各7行,每行15個。此外,藥罐位置每單位Y軸坐標(biāo)與三個單位X軸坐標(biāo)相同,且機械手對前后兩面的取藥由步進(jìn)電機擺動控制。經(jīng)過簡單計算可以確定本系統(tǒng)中實際節(jié)點應(yīng)為66個。采用新的禁忌遺傳算法在VB中編程,該算法對多節(jié)點系統(tǒng)設(shè)置禁忌步長和松弛步長。引入張弛效應(yīng),與傳統(tǒng)遺傳算法相比,減小了可行解空間,提高了收斂速度。
加藥模塊為藥品管理員專用,主要任務(wù)是從界面中修改數(shù)據(jù)庫中貨存藥品的所有信息。
對散裝中藥實現(xiàn)定量配置的中藥智能配藥系統(tǒng)在控制方法上有多種創(chuàng)新,具有良好的人機界面,能在足夠短的時間內(nèi)對指定藥方完成配藥。該系統(tǒng)通過了上海市科委主持的專家鑒定,達(dá)到國內(nèi)領(lǐng)先、國際先進(jìn)的水平,在運行中情況良好,可靠性和安全性都得到了驗證。
提交
自動化機床的故障排除技術(shù)淺析
安川焊接機器人編程
ABB機器人控制軟件RobotWare應(yīng)用手冊SafeMove(英文)
ABB IRB7600 機器人維護信息
ABB IRC5P機器人培訓(xùn)教材